java解析时差
我在解析时差(我从网页上收到的)时感到困惑
例如:我得到如下字符串:2 years 10 weeks 3 days 6 hours 7 min ago
。请注意year
、week
、day
和hour
中的尾随s
在统一的情况下可能不在那里,并且在min
中不存在
目前,我想得到这样存储的差异,并得到实际的日期和时间[通过从当前时间中减去?]
我不知道该怎么办?我知道时间解析方法,但这不是一个固定的时间,另外还有尾随的s
有人能提出一个好的方法吗
你可以在下面搜索框中键入要查询的问题!
我在解析时差(我从网页上收到的)时感到困惑
例如:我得到如下字符串:2 years 10 weeks 3 days 6 hours 7 min ago
。请注意year
、week
、day
和hour
中的尾随s
在统一的情况下可能不在那里,并且在min
中不存在
目前,我想得到这样存储的差异,并得到实际的日期和时间[通过从当前时间中减去?]
我不知道该怎么办?我知道时间解析方法,但这不是一个固定的时间,另外还有尾随的s
有人能提出一个好的方法吗
# 1 楼答案
我建议计算时间差是多少毫秒,然后从现在开始减去,这很简单,但是你会遇到闰年的问题
这应该很好,但我还没有测试过。例如,您还必须处理数周内无法获得值的情况
# 2 楼答案
根据@Eluvatar的建议,假设每个零件之间有一个空间:
“\s+”可能需要变成“\s+”,请参见How do I split a string with any whitespace chars as delimiters?
# 3 楼答案
您可以使用此代码。这考虑到了
s
和可能缺少一些令牌